package IO流_字符流.文件字符输出流_写字符数据出去;

import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;

public class Test {
    public static void main(String[] args) {
        // FileWriter: 文件字符输出流
        // 作用: 以内存为基准, 把内存中的数据以字符的形式写出到文件中去

        // 构造器:
//        1. public FileWriter(File file):创建字符输出流管道与源文件接通
//        2. public FileWriter(String filepath):创建字节输出流管道与源文件接通
//        3. public FileWriter(File file, boolean append):创建字节输出流管道与源文件接通, 可追加数据
//        4. public FileWriter(String filepath, boolean append):创建字节输出流管道与源文件接通, 可追加数据
//


        try (
                // a, 创建文件字符输出流管道与目标文件接通
//                Writer writer = new FileWriter("Senior\\src\\IO流_字符流\\pat1");// 覆盖管道
                Writer writer = new FileWriter("Senior\\src\\IO流_字符流\\pat1",true);//追加数据管道
        ) {
            // 方法:
//        1. void write ( int c):写一个字符
            writer.write('a');
            writer.write(97);
            writer.write('我');

//        2. void write (String str):写一个字符串
            writer.write("我爱我的祖国");

//        3. void write (String ser,int off, int len): 写一个字符串的一部分
            writer.write("我爱我的祖国", 2, 4);

//        4. void write (char[] cbuf): 写一个字符数组
            char[] buffer = {'h', 'e', 'i', 'm', 'a'};
            writer.write(buffer);

//        5. void write (char[] cbuf, int off, int len): 写入字符数组的一部分
            writer.write(buffer, 0, 3);

            // 6. 换行
            writer.write("\r\n");
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}
